﻿using System;
using CommonInteractive;


namespace CommonInteractive.Wizard
{
    public interface IWizardStory
    {
        IItemWizard Add(IItemWizard item);
        bool CanNext { get; }
        bool CanPrevious { get; }
        bool CanTerminate { get; }
        IItemWizard Current { get; }
        string Description { get; }
        System.Collections.Generic.IEnumerator<IItemWizard> GetEnumerator();
        IItemWizard GetItemWizard(string name);
        int Index { get; }
        void Next(IWizardFrm form);
        void Previous(IWizardFrm form);
        event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        string Title { get; }
        event WizardStepAfterChangedEventHandler WizardStepAfterChanged;
        event WizardStepBeforeChangedEventHandler WizardStepBeforeChanged;

        void Reset(IWizardFrm form);


       
    }

    public delegate void WizardStepBeforeChangedEventHandler(object sender, WizardStepBeforeChangedEventArgs e);
    public delegate void WizardStepAfterChangedEventHandler(object sender, WizardStepAfterChangedEventArgs e);



}
